llt myadd(llt a, llt b){auto t = (a + b) % MOD; return t >= 0 ? t : t + MOD;}
llt mymul(llt a, llt b){auto t = a * b % MOD; return t >= 0 ? t : t + MOD;}

template<typename ... Args>
llt myadd(llt a, const Args & ... args){
    return (a + myadd(args ...)) % MOD;
}

template<typename ... Args>
llt mymul(llt a, const Args & ... args){
    return (a * mymul(args ...)) % MOD;
}